package com.sync.syncmasterdata.product.view;

import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang.StringUtils;

/**
 * 货物类型转换
 */
public enum StoreTypeEnum {

    //医疗器械常温(19~25）
    ONE(0, "001"),
    //医疗器械冷藏（2~8）
    TWO(1, "002"),
    //医疗器械冷冻（-25~-15）
    THREE(2,"003"),
    //医疗器械冷冻（-20~-30）
    FOUR(3,"004"),
    //医疗器械仪器常温（19~25）
    FIVE(4,"005"),
    //非医疗器械常温1（19~25）
    SIX(5,"006"),
    //非医疗器械冷藏1（2~8）
    SEVEN(6,"007"),
    //非医疗器械冷冻1（-25~-15）
    EIGHT(7,"008"),
    //非医疗器械冷冻1（-20~-30）
    NINE(8,"009"),
    //非医疗器械仪器1常温（19~25）
    TEN(9,"010"),
    //非医疗器械常温2（19~25）
    ELEVEN(10,"011"),
    //非医疗器械冷藏2（2~8）
    TWELVE(11,"012"),
    //非医疗器械冷冻2（-25~-15）
    THIRTEEN(12,"013"),
    //非医疗器械冷冻2（-25~-20）
    FORETEEN(13,"014"),
    //医疗器械常温冷藏（2~30）
    FIVETEEN(14,"015"),
    //非医疗器械常温冷藏1（2~30）
    SIXTEEN(15,"016"),
    //非医疗器械常温冷藏2（2~30）
    SEVENTEEN(16,"017"),
    //医疗器械冷藏冷冻（-25~8）
    EIGHTEEN(17,"018"),
    //非医疗器械冷藏冷冻1（-25~8）
    NINETEEN(18,"019"),
    //非医疗器械冷藏冷冻2（-25~8）
    TWENTY(19,"020");


    @Getter
    @Setter
    private Integer k;
    @Getter
    @Setter
    private String v;

    StoreTypeEnum(Integer k, String v) {
        this.k = k;
        this.v = v;
    }

    /**
     * 根据k获取comment
     *
     * @param k
     * @return comment
     */
    public static String getValue(Integer k) {
        if (k==null) {
            return "010";
        }
        for (StoreTypeEnum eNum : StoreTypeEnum.values()) {
            if (eNum.getK().equals(k)) {
                return eNum.getV();
            }
        }
        return "010";
    }

    public static Integer getKey(String v) {
        if (StringUtils.isBlank(v)) {
            return 9;
        }
        for (StoreTypeEnum eNum : StoreTypeEnum.values()) {
            if (eNum.getV().equals(v)) {
                return eNum.getK();
            }
        }
        //匹配不到的 都写6= 其他
        return 9;
    }
}
